// import { getAllRoleList, isAccountExist } from '@/api/demo/system';
import { BasicColumn, FormSchema } from '@/components/Table';
import {  Tooltip } from 'ant-design-vue';
import { h, ref, onMounted } from 'vue';
import { getItemApi } from '@/api/demo/code';
import { useI18n } from "@/hooks/web/useI18n";

const { t } = useI18n();
/**
 * transform mock data
 * {
 *  0: '华东分部',
 * '0-0': '华东分部-研发部'
 * '0-1': '华东分部-市场部',
 *  ...
 * }
 */
// export const deptMap = (() => {
//   const pDept = ['华东分部', '华南分部', '西北分部'];
//   const cDept = ['研发部', '市场部', '商务部', '财务部'];

//   return pDept.reduce((map, p, pIdx) => {
//     map[pIdx] = p;

//     cDept.forEach((c, cIndex) => (map[`${pIdx}-${cIndex}`] = `${p}-${c}`));

//     return map;
//   }, {});
// })();
//表头数据
export const columns: BasicColumn[] = [
  {
    title: t('sys.script.columns.name'),
    dataIndex: 'name',
    width: 120,
  },

  {
    title: t('sys.script.columns.version'),
    dataIndex: 'version',
    width: 120,
  },
  {
    title: t('sys.informaionMatchaing.columns.createTime'),
    dataIndex: 'createTime',
    width: 120,
  },
  {
    title: t('sys.script.columns.filePath'),
    dataIndex: 'filePath',
    width: 120,
    customRender: ({ text }: { text: string }) => {
      return h(
        Tooltip,
        {
          title: text,
        },
        [
          h(
            'span',
            {
              style: {
                display: 'inline-block',
                width: '100%',
                height: 'auto',
                overflow: 'hidden',
                textOverflow: 'ellipsis',
                whiteSpace: 'nowrap',
              },
            },
            text,
          ),
        ],
      );
    },
  },
  {
    title: t('sys.script.columns.type'),
    dataIndex: 'type',
    width: 120,
  },
  {
    title: t('sys.device.columns.remck'),
    dataIndex: 'remark',
    width: 120,
  },
  {
    title: t('sys.analysis.columns.status'),
    dataIndex: 'isCurrent',
    width: 120,
    customRender: ({ text }: { text: string }) => {
      return text ? t('sys.configuration.startUsing') : '禁用';
    },
  },
];

export const accountFormSchema: FormSchema[] = [
  {
    field: 'name',
    component: 'Input',
    label: t('sys.script.columns.name'),
    defaultValue: '',
    rules: [{ required: true }],
  },
  // {
  //   field: 'version',
  //   component: 'Input',
  //   label: t('sys.script.columns.version'),
  //   defaultValue: '',
  //   rules: [{ required: true }],
  // },
  {
    field: 'type',
    component: 'RadioGroup',
    label: t('sys.script.columns.uploadType'),
    defaultValue: 'file',
    colProps: { span: 24 },
    componentProps: {
      options: [
        { label: t('sys.script.columns.uploadfile'), value: 'file' },
        { label: t('sys.script.columns.uploadtext'), value: 'text' },
      ],
    },
    rules: [{ required: true }],
  },
  {
    field: 'filePath',
    slot: 'filePath',
    label: t('sys.script.columns.filePath'),
    defaultValue: '',
    ifShow: ({ values }) => values.type === 'file',
  },
  {
    field: 'script',
    component: 'InputTextArea',
    label: t('sys.script.columns.filePath'),
    defaultValue: '',
    rules: [{ required: true }],
    ifShow: ({ values }) => values.type === 'text',
  },
  {
    field: 'remark',
    component: 'Input',
    label: t('sys.device.columns.remck'),
    defaultValue: '',
    rules: [{ required: true }],
  },
];

//基础字段
// export const accountFormSchemaFields: FormSchema[] = [
//   {
//     field: 'name',
//     component: 'Input',
//     label: t('sys.script.columns.name'),
//     defaultValue: '',

//     rules: [{ required: true }],
//   },
//   {
//     field: 'version',
//     component: 'Input',
//     label: t('sys.script.columns.version'),
//     defaultValue: '',

//     rules: [{ required: true }],
//   },
//   {
//     field: 'filePath',
//     component: 'Input',
//     label: t('sys.script.columns.filePath'),
//     defaultValue: '',
//     rules: [{ required: true }],
//   },
// ];
